using RabbitMQ.Client;
using RabbitMQ.Client.Events;

namespace Aurora.RabbitMq.Provider;

/// <summary>
/// rabbitmq message consumer
/// </summary>
public interface IRabbitMqMessageConsumer
{
    Task BindAsync(string routeingKey);

    Task UnbindAsync(string routeingKey);

    void MessageReceived(Func<IModel, BasicDeliverEventArgs, Task> callback);
}